package com.java.basis.map;

import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;

/**
 * @author wangning
 * @create 2021-10-14 15:53
 * 用到了Map对数据进行分组，但是分完组之后，输出数据时并不是按数据给的顺序输出的，其实用不着这么麻烦，
 * 后台给数据时完全可以分好组再传给前端，没办法，谁让咱不会后台呢，废话不多说，上解决办法
 * 一般情况下是这样put进去的
 */
public class TestHashMap02 {
	public static void main(String[] args) {
		Map<String, String> map = new HashMap<>();
		map.put("2", "2");
		map.put("1", "1");
		map.put("3", "3");
		map.put("4", "4");
		for (String t : map.keySet()) {
			System.out.println("key=" + t);
		}
		//结果当然不是我们想要的，怎么办，很简单，把 HashMap 换成 LinkedHashMap
		System.out.println("--------------------------");

		//原因:LinkedHashMap 的特点是put进去的对象位置未发生变化,而HashMap会发生变化.
		Map<String, String> map1 = new LinkedHashMap<>();
		map1.put("2", "2");
		map1.put("1", "1");
		map1.put("3", "3");
		map1.put("4", "4");
		for (String t : map1.keySet()) {
			System.out.println("key=" + t);
		}
		System.out.println("--------------------------");

	}
}
